package com.test.practice.exception;

import java.io.IOException;

/**
 * 没有接收cause，丢失了最原始的异常信息
 *
 * @author Jovi
 * 2015年7月22日
 * MyExceptionDemo2.java
 */
public class MyExceptionDemo2 {
    public void m3() throws MyException {
        throw new MyException("异常深度3");
    }

    public void m2() throws Exception {
        try {
            m3();
        } catch (Exception e) {
            //此处cause没有传递，将会丢失m3抛出的异常
            throw new MyException("异常深度2");
        }
    }

    public void m1() throws IOException {
        try {
            m2();
        } catch (Exception e) {
            //此处cause没有传递，将会丢失m2抛出的异常
            throw new IOException("异常深度1");
        }
    }

    public static void main(String[] args) {
        try {
            new MyExceptionDemo2().m1();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
